(function ($) {
   /* //默认参数
    var defaluts = {
        searchName: '.ySearchSelect'
    };

    $.fn.extend({
        "ySearchSelect": function (options) {
            defaluts.searchName = options;
            var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数
            return this.each(function () {  //这里的this 就是 jQuery对象。这里return 为了支持链式调用
                init(opts);
            });

        }
    });
    //初始化插件
    function init(o){
        $(document).click(function(){
            var thin = this;
            $(".ySearchSelect table").hide();
            $(".ySearchSelect .input-text").hide();
            $(".ySearchSelect .layui-form.layui-border-box.layui-table-view").hide();
            $(".ySearchSelect i.layui-edge").removeClass("select");
        });

        $(o.searchName+" .layui-input").click(function(event){
            //阻止document点击事件
            event.stopPropagation();
            if($(this).siblings(".input-text").length <= 0){
                var str = '<div class="input-text">'+
                    '<input type="text" name="" placeholder="输入关键字" class="layui-input">'+
                    '</div>';
                $(o.searchName).append(str);
            }
            if($(this).siblings("table").css("display") == "none"){
                var ids = $(o.searchName).attr("data-id");
                table.render({
                    elem: '#productcodeselect_'+ids,
                    id: 'productcodeselecttableid_'+ids,
                    data: data3,
                    cols: [[
                        {field: 'productcode', width: 120, title: '产品编码'},
                        {field: 'specificationcoding', width: 120, title: '规格编码'},
                        {field: 'chinesename', width: 120, title: '中文名称'},
                        {field: 'englishnames', width: 120, title: '英文名称'},
                        {field: 'productcatalog', width: 120, title: '产品目录'}
                    ]],
                    height: 200
                });
                table.on('row(productcodeselecttable_'+ids+')', function(obj){
                    var data = obj.data;
                    var tabledata = table.cache["storageproductstableid"];
                    $.each(tabledata,function(index,value){
                        if(value.id==ids){
                            tabledata[index]["productcode"] = data.productcode;
                        }
                    });
                    table.reload('storageproductstableid',{});
                });
                $(this).siblings("i").addClass("select");
                $(this).siblings("table").show();
                $(this).siblings(".layui-form.layui-border-box.layui-table-view").show();
                $(this).siblings(".input-text").show();
            }else{
                $(this).siblings("i").removeClass("select");
                $(this).siblings("table").hide();
                $(this).siblings(".layui-form.layui-border-box.layui-table-view").hide();
                $(this).siblings(".input-text").hide();
            }
            $(o.searchName+" .input-text input").focus();
            $(o.searchName+" .input-text").width(605);

            //键盘监听事件
            $(o.searchName+" .input-text input").keyup(function(event){
                if(event.keyCode != 38 && event.keyCode != 40 && event.keyCode != 13){
                    ySearchSelectMate($(this).val(),o.searchName);
                }
            });
        });
    }

    //匹配搜索，不匹配则隐藏。
    function ySearchSelectMate(value,name){
        value = $.trim(value.toString()); // 去掉两头空格
        var ids = $(name).attr("data-id");
        //模糊查询表格并刷新
        table.reload('productcodeselecttableid_'+ids,{where: {
                productcode:value
        }});
    }*/
})(window.jQuery);

    var form = layui.form, laydate = layui.laydate, upload = layui.upload, table = layui.table,
        $ = layui.jquery,fid, id = getQueryVariable("id"),wxandbhflag="",
        imgs=[],wjs=[];//
         var productList=[];//产品列表
         var peijianList=[];//配件列表
         var feiyong=[];//费用
         var fujian=[];//附件
         var fujantem=[];//附件临时变量
//操作员
form.val("editor-form", {
    "executorCode":user.code
});
//下拉框
getlxandlevel();
////获取公司、客户名称
setPullMenu();
//表单初始值，修改时调用
if (id != ""){
    wxandbhflag="all";
    $("input[name='shipmentNo']").attr("readOnly",true);
    $("input[name='executorCode']").attr("readOnly",true);
    queryByid(id);
    getProdcuInfo();//获取产品列表
    getfeiyong();//获取费用
    getfujian();//获取文件附件

}

lay('.starttime').each(function(){
    if(id == ""){
        laydate.render({
            elem: this,
            max: 0,//最大值为当前日期
            eventElem: '#starttime',//日期输入框的图标，给图标也绑定点击事件
            trigger: 'click',
            value: new Date() //默认值30天前
        });
    }

});


//监听提交
    form.on('submit(form-element)', function (data) {
        save(data.field);

        return false;
    });

//--产品信息
    table.render({
        elem: '#storageproducts',
        id: 'storageproductstableid'
        ,data:productList,
        toolbar: '#storageproductstoolbar',
        cols: [[
            {checkbox: true, fixed: true},
            {field: 'img', title: '图片', width: 120, align: 'center', templet: '#imgTpl'},//, templet: '#imgTpl'
            {field: 'purchaseNo', width: 120, title: '采购单号'},
            {field: 'productNo', width: 120, title: '产品编码'},//, templet:'#productcodeselect'
            {field: 'specNo', width: 120, title: '规格编码' },
            {field: 'normExplain', width: 120, title: '规格说明' },
            {field: 'customerContractNo', width: 120, title: '客户货号' },
            {field: 'chineseName', width: 120, title: '中文名称' },
            {field: 'englishName', width: 120, title: '英文名称'},
            {field: 'chineseDesc', width: 120, title: '中文描述' },
            {field: 'englishDesc', width: 120, title: '英文描述' },
            {field: 'amount', width: 80, title: '数量' ,edit:'text'},
            {field: 'unit', width: 120, title: '单位',edit:'text'},//, templet: '#unitselect'
            {field: 'price', width: 80, title: '单价' },
            {field: 'priceSubtotal', width: 120, title: '金额小计' },
            {field: 'colour', width: 120, title: '颜色' },
            {field: 'grossWeight', width: 120, title: '毛重' ,edit:'text'},
            {field: 'grossSubtotal', width: 120, title: '毛重小计' },
            {field: 'netWeight', width: 120, title: '净重' ,edit:'text'},
            {field: 'netSubtotal', width: 120, title: '净重小计' },
            {field: 'volume', width: 120, title: '体积',edit:'text' },
            {field: 'trayNumber', width: 120, title: '托数' },
            {field: 'trayCapacity', width: 120, title: '每托量' ,edit:'text'},
            {field: 'numberOfPiece', width: 120, title: '件数' },
            {field: 'qty', width: 120, title: '每件数量' ,edit:'text'},
            {field: 'payTime', width: 120, title: '付款账期' },
            {field: 'costPrice', width: 120, title: '成本单价' },
            {field: 'costPriceSubtotal', width: 120, title: '成本小计' },
            {field: 'wholeCostPrice', width: 120, title: '成品成本' },
            {field: 'accessoryCostPrice', width: 120, title: '配件成本' },
            {field: 'supplierName', width: 120, title: '供应商' },
            {field: 'customerContractNo', width: 120, title: '客户合同号' },
            {field: 'exportContractNo', width: 120, title: '外销合同号' },
            {field:'outPackLength', title:'外包装长', width: 120 ,edit:'text'},
            {field:'outPackWidth', title:'外包装宽', width: 120 ,edit:'text'},
            {field:'outPackHeight', title:'外包装高', width: 120 ,edit:'text'},
            {field:'outPackSize', title:'外包装尺寸', width: 120 },
            {field:'outPackNum', title:'外包装单位', width: 120 ,edit:'text'},
            {fixed: 'right', title: '操作', width: 120, align: 'center', toolbar: '#storageproductseditor'}]],
        page: false,
        height: 380
        , done: function (res, curr, count) {

            $(".layui-table select").parent(".layui-table-cell").css('overflow','visible')
            $(".layui-form-select").parents(".layui-table-cell").css('overflow','visible')
            hoverOpenImg();//显示大图

        }
    });


form.on("select(customscodeselect_filter)", function(data){
    var elem = data.othis.parents("tr");
    var dataindex = elem.attr("data-index");
    var tabledata = table.cache["storageproductstableid"];
    $.each(tabledata,function(index,value){
        if(value.LAY_TABLE_INDEX==dataindex){
            tabledata[index]["customscode"] = data.value;
        }
    });
});
form.on("select(unitselect_filter)", function(data){
    var elem = data.othis.parents("tr");
    var dataindex = elem.attr("data-index");
    var tabledata = table.cache["storageproductstableid"];
    $.each(tabledata,function(index,value){
        if(value.LAY_TABLE_INDEX==dataindex){
            tabledata[index]["unit"] = data.value;
        }
    });
});

//form.on
//产品行编辑时触发事件
table.on('edit(storageproductstable)',function (obj) {
    var old=$(this).prev().text();//旧值
    //判断数据类型 ,,,,,,,
    if((obj.field== "amount" || obj.field== "grossWeight"|| obj.field== "netWeight"|| obj.field== "volume" ||
        obj.field== "trayCapacity" || obj.field== "qty"|| obj.field== "outPackLength" || obj.field== "outPackWidth"
        || obj.field== "outPackHeight"  )&&!isNumber(obj.value)) {
        layer.msg('请输入数字');
        $(this).val(old);
        return;
    }else{
        for(var i=0;i<productList.length;i++){
            var row=productList[i];
            if(row.cpid==obj.data.cpid){
                if(obj.field=="amount"){//偶比较量变更
                    row.amount=obj.value;//数量
                    row.priceSubtotal=row.amount*row.price; //priceSubtotal  金额小计     产品数量变更，  金额小计随着变化
                   row.trayNumber=row.amount/row.trayCapacity;//trayNumber  托数变化
                   row.numberOfPiece=row.amount/row.qty;//numberOfPiece 件数变化
                    row.costPrice=row.wholeCostPrice+row.accessoryCostPrice;//costPrice  成本单价
                    row.costPriceSubtotal=row.costPrice*row.amount;//costPriceSubtotal   成本小计
                    //row.accessoryCostPrice=getpeijian(row.cpid,cghts,"02"); //accessoryCostPrice  配件成本
                    row.accessoryCostPrice=getpeijian2(row.cpid,row.amount);
                    var ia=$("input[name='invoiceAmount']")[0].value;
                    if(ia=="" ||ia =="NaN"){
                        $("input[name='invoiceAmount']")[0].value=row.priceSubtotal;
                    }else{
                        $("input[name='invoiceAmount']")[0].value= parseFloat(ia)+parseFloat(row.priceSubtotal)-parseFloat(old);
                    }
                }
                if(obj.field=='grossWeight'){//毛重
                    row.grossWeight=obj.value;
                    row.grossSubtotal=row.grossWeight*row.numberOfPiece;//毛重小计
                }
                if(obj.field=='outPackLength'){//外包装长
                    row.outPackLength=obj.value;
                    row.outPackSize=row.outPackLength*row.outPackWidth*row.outPackHeight;//外包装尺寸
                }
                if(obj.field=='outPackWidth'){//宽
                    row.outPackWidth=obj.value;
                    row.outPackSize=row.outPackLength*row.outPackWidth*row.outPackHeight;//外包装尺寸
                }
                if(obj.field=='outPackHeight'){//高
                    row.outPackHeight=obj.value;
                    row.outPackSize=row.outPackLength*row.outPackWidth*row.outPackHeight;//外包装尺寸
                }
            }
        }
        table.reload('storageproductstableid', {

            data:productList
            ,page: {
                curr: 1 //重新从第 1 页开始
            }

        }, 'data');

        var pjData=[];
        for(var i=0;i<peijianList.length;i++){
            if(obj.data.cpid==peijianList[i].productId){
                pjData.push(peijianList[i].changeList);
            }
        }
        table.render({
            elem: '#productsaselect'
            ,data:pjData//data2
            ,toolbar: '#productsatoolbar'
            // ,where:{id:obj.data.id} //查询的产品ID，条件
            ,cols: [[
                {checkbox: true, fixed: true}
                ,{field: 'productNo', title: '产品编码'}
                ,{field: 'specNo', title: '规格编码' }
                ,{field:'proportionFinishedProducts', title:'成品比例'}
                ,{field:'partsFinishedProducts', title:'配件比例' }
                ,{field:'amount', title:'配件数量' }
                ,{field: 'costPrice', width: 120, title: '成本单价' }
                ,{field: 'costPriceSubtotal', width: 120, title: '成本小计' }
                ,{field: 'purchaseNo', width: 120, title: '采购单号' }
                ,{field: 'supplierName', width: 120, title: '供应商' }
                ,{field:'chineseDesc', title:'中文名称' }
                ,{field:'englishDesc', title:'英文名称' }
                ,{field:'grossWeight', title:'毛重' , edit:'text'}
                ,{field:'netWeight', title:'净重' , edit:'text'}
                ,{field:'volume', title:'体积' , edit:'text'}
                ,{fixed: 'right', width:150, align:'center', toolbar: '#productsaup', title:'操作'}
            ]]
            ,id: 'productsatableid'
            ,page: false
            ,height:300
        });


    }

});

    //监听行单击事件
    table.on('row(storageproductstable)', function(obj){
        $("#hidden").show();

        var pjData=[];
        for(var i=0;i<peijianList.length;i++){
            if(obj.data.productId==peijianList[i].productId){
                pjData.push(peijianList[i].changeList[0]);
            }
        }
        table.render({
            elem: '#productsaselect'
            ,data:pjData//data2
            ,toolbar: '#productsatoolbar'

            ,cols: [[
                {checkbox: true, fixed: true}
                ,{field: 'productNo', title: '产品编码'}
                ,{field: 'specNo', title: '规格编码' }
                ,{field:'proportionFinishedProducts', title:'成品比例'}
                ,{field:'partsFinishedProducts', title:'配件比例' }
                ,{field:'amount', title:'配件数量' }
                ,{field: 'costPrice', width: 120, title: '成本单价' }
                ,{field: 'costPriceSubtotal', width: 120, title: '成本小计' }
                ,{field: 'purchaseNo', width: 120, title: '采购单号' }
                ,{field: 'supplierName', width: 120, title: '供应商' }
                ,{field:'chineseDesc', title:'中文名称' }
                ,{field:'englishDesc', title:'英文名称' }
                ,{field:'grossWeight', title:'毛重' , edit:'text'}
                ,{field:'netWeight', title:'净重' , edit:'text'}
                ,{field:'volume', title:'体积' , edit:'text'}
                ,{fixed: 'right', width:150, align:'center', toolbar: '#productsaup', title:'操作'}
            ]]
            ,id: 'productsatableid'
            ,page: false
            ,height:300
        });
    });
table.on('edit(productsatable)',function (obj) {
    var old=$(this).prev().text();//旧值
    //判断数据类型 ,,,,,,,
    if((obj.field== "grossWeight" || obj.field== "netWeight"|| obj.field== "volume" )&&!isNumber(obj.value)) {
        layer.msg('请输入数字');
        $(this).val(old);
        return;
    }
});
    table.on('tool(storageproductstable)', function (obj) {

        if (obj.event === 'del') {
            layer.confirm('真的删除行么', function (index) {
                //需要删除的ID：data.id
                var tf=delproduct(obj.data.id,"p");
                if(tf){
                    var ia=$("input[name='invoiceAmount']")[0].value;
                    if(ia=="" || ia =="NaN"){
                        ia=0;
                    }

                    $("input[name='invoiceAmount']")[0].value= parseFloat(ia)-parseFloat(obj.data.priceSubtotal==undefined?"0":obj.data.priceSubtotal);

                    obj.del();
                    for(var i=0;i<productList.length;i++){
                        if(productList[i].id==obj.data.id){

                            productList.splice(i,1);
                        }
                    }

                    layer.msg("删除成功", {icon: 6});
                }else{
                    layer.msg("删除失败", {icon: 6});
                }

                layer.close(index);
            });
        }
    });
//产品导入
    table.on('toolbar(storageproductstable)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'importexport'://导入外销
                if(wxandbhflag=="b"){
                    layer.msg("已导入备货，不可再导入外销！");
                    break;
                }
                if(wxandbhflag=="all"){
                    layer.msg("修改时不能进行导入！");
                    break;
                }


                layer.open({
                    type: 2,
                    area: $(window).width() < 458 ? "['100%', '100%']":['75%', '75%'],
                    content: 'views/jsp/ExportBusiness/tpl/importexport.jsp'
                });

                break;
            case 'importstockup'://导入备货
                if(wxandbhflag=="w"){
                    layer.msg("已导入外销，不可再导入备货！");
                    break;
                }
                if(wxandbhflag=="all"){
                    layer.msg("修改时不能进行导入！");
                    break;
                }
                layer.open({
                    type: 2,
                    area: $(window).width() < 458 ? "['100%', '100%']":['75%', '75%'],
                    content: 'views/jsp/ExportBusiness/tpl/importstockup.jsp'
                });
                break;
            case 'new':
                var oldData = table.cache["storageproductstableid"];
                var data1={"id":oldData.length+1,warehousename:"",number:"",unit:"1",unitprice:"",amountsubtotal:"",costprice:"",costsubtotal:"",productcode:""};
                var sss = oldData.concat(data1);
                table.reload('storageproductstableid',{data : sss});
                getlxandlevel();
                /*var unit = getdictionary(6,42); //单位
                var unitselect = $("select[name='unitselect']"); //单位
                unitselect.append(getoption(unit)); //单位
                table.render();*/
                break;
            case 'del':
                var data=checkStatus.data,delList=[];
                data.forEach(function(n,i){
                    delList.push(n.id);
                });
                if(delList!=''){
                    layer.confirm('确定删除所选项吗？',function (index) {

                        var cbList = table.cache["storageproductstableid"];
                        for(var i = 0;i<cbList.length;i++){
                            delList.forEach((item, index) => {
                                //当数组中任意一个元素的rowIndex值与取消复选框的元素对象属性rowIndex的下标值相等，则在数组中删除该元素
                                if (typeof (cbList[i]) != undefined&&item == cbList[i].id) {
                                    cbList.splice(i, 1);
                                }
                            })
                        }
                        table.reload("storageproductstableid", {
                            data: cbList,
                        });
                        layer.msg('删除成功');
                    })
                }else{
                    layer.msg('请选择需要删除的行');
                }
                break;
        };
    });

    function hoverOpenImg() {
        var img_show = null; // tips提示
        $("body").delegate("td img", "mouseover", function () {
            var img = "<img class='img_msg' src='" + $(this).attr('src') + "' style='width:130px;' />";
            img_show = layer.tips(img, this, {
                tips: [2, 'rgba(41,41,41,.5)']
                , area: ['160px']
            });
        });
        $("body").delegate("td img", "mouseout", function () {
            layer.close(img_show);
        });
    }


    table.on('toolbar(productsatable)', function(obj){

        var checkStatus = table.checkStatus(obj.config.id);
        var data = checkStatus.data;
        switch(obj.event){
            case 'new':
                layer.open({
                    type: 2,
                    area: $(window).width() < 458 ? "['100%', '100%']":['75%', '75%'],
                    content: 'views/jsp/ExportBusiness/tpl/productlibraryimport.jsp?tableid=productsatableid'
                });
                break;
            case 'delet':
                var data=checkStatus.data,delList=[];
                data.forEach(function(n,i){
                    delList.push(n.id);
                });
                if(delList!=''){
                    layer.confirm('确定删除所选项吗？',function (index) {
                        var cbList = table.cache["productsatableid"];
                        for(var i = 0;i<cbList.length;i++){
                            delList.forEach((item, index) => {
                                //当数组中任意一个元素的rowIndex值与取消复选框的元素对象属性rowIndex的下标值相等，则在数组中删除该元素
                                if (typeof (cbList[i]) != undefined&&item == cbList[i].id) {
                                    cbList.splice(i, 1);
                                }
                            })
                        }
                        table.reload("productsatableid", {
                            data: cbList,
                        });
                        layer.msg('删除成功');
                    })
                }else{
                    layer.msg('请选择需要删除的行');
                }
                break;
        };
    });
    table.on('tool(productsatable)', function(obj){

        var data = obj.data;
        if(obj.event === 'productsade') {
            layer.confirm('真的删除行么', function (index) {


                   for(var i=0;i<peijianList.length;i++){

                       if(peijianList[i].productId=data.productId){
                           var changeList= peijianList[i].changeList;
                           for(var n=0;n<changeList.length;n++){
                               if(changeList[n].id==obj.data.id){
                                   if( delproduct(obj.data.id,"b")){
                                      obj.del();

                                       peijianList.splice(i,1);
                                       layer.msg('删除成功');
                                   }else{
                                       layer.msg('删除失败');
                                   }
                               }
                           }
                       }
                   }



                layer.close(index);
            });
        }
    });

//---费用
    table.render({
        elem: '#cost'
        , data: feiyong

        , toolbar: '#costtoolbar'
        , cols: [[
            {checkbox: true, fixed: true}
            , {field: 'id', title: 'Id' }
            , {field: 'costType', title: '费用类型', templet:'#costtypeselects'}
            , {field: 'costMoney', title: '金额',event:'amount',edit:'number'}
            , {field: 'costDesc', title: '备注说明',edit:'text'}
        ]]
        , id: 'costtableid'
        , height: 380
        , page: true
        ,done:function (res, curr, count) {
            $("[data-field='id']").css("display","none");
            var costtype = getdictionary(5,19);  //费用类型

            $('tr').each(function(e){
                var $cr=$(this);
                var dataindex = $cr.attr("data-index");
                $.each(res.data,function(index,value){
                   if(value.LAY_TABLE_INDEX==dataindex){
                        for(var i=0;i<costtype.length;i++){
                            if(value.costType==costtype[i].code){
                                $cr.find('input').val(costtype[i].name);
                                break;
                            }
                        }

                    }

                });

            });



        }
    });
function getselectText( dt,key){
    $("[data-field = '"+key+"']").children().each(function(){
        for(var i=0;i<dt.length;i++){
            if($(this).text() == dt[i].code){
                $(this).text(dt[i].name);
            }
        }
    })
}
table.on('edit(costtable)',function (obj) {
    var old=$(this).prev().text();//旧值
    //判断数据类型 ,,,,,,,
    if((obj.field== "costMoney")&&!isNumber(obj.value)) {
        layer.msg('请输入数字');
        $(this).val(old);

        return;
    }
    if(obj.field=="costMoney"){
        $("input[name='invoiceAmount']")[0].value= parseFloat($("input[name='invoiceAmount']")[0].value)+parseFloat(obj.value);
    }

});


form.on("select(costType)", function(data){
    var elem = data.othis.parents("tr");
    var dataindex = elem.attr("data-index");
    var tabledata = table.cache["costtableid"];
    $.each(tabledata,function(index,value){
        if(value.LAY_TABLE_INDEX==dataindex){
            tabledata[index]["costType"] = data.value;
        }
    });
});
//费用工具按钮
table.on('toolbar(costtable)', function(obj){
    var checkStatus = table.checkStatus(obj.config.id);
    var data = checkStatus.data;
    switch(obj.event){
        case 'new':
            var oldData = table.cache["costtableid"];


            var data1={"id":oldData.length+1,costType:"",costMoney:"",costDesc:""};
            oldData.push(data1)
           table.reload('costtableid',{data : oldData});
            break;
        case 'del':
            var data=checkStatus.data,delList=[];
            data.forEach(function(n,i){
                delList.push(n.id);
            });
            if(delList!=''){
                layer.confirm('确定删除所选项吗？',function (index) {
                    var cbList = table.cache["costtableid"];
                    for(var i = 0;i<cbList.length;i++){
                        delList.forEach((item, index) => {
                            //当数组中任意一个元素的rowIndex值与取消复选框的元素对象属性rowIndex的下标值相等，则在数组中删除该元素
                            if (typeof (cbList[i]) != "undefined"&&item == cbList[i].id) {
                                var ia=$("input[name='invoiceAmount']")[0].value;
                                if(ia==""||ia =="NaN"){
                                    ia=0;
                                }
                                $("input[name='invoiceAmount']")[0].value= parseFloat($("input[name='invoiceAmount']")[0].value)-parseFloat(cbList[i].costMoney);
                                cbList.splice(i, 1);


                            }
                        })
                    }
                    table.reload("costtableid", {
                        data: cbList,
                    });
                    layer.msg('删除成功');
                })
            }else{
                layer.msg('请选择需要删除的行');
            }
            break;
    };
});


//---附件
//[{"fileName":"test","fileUploadTime":"2021-01-02"}];
    table.render({
        elem: '#attachment'
        , data: fujian
       /* ,url:"shipmentPlan/selectFileBySpId"
        ,where: {
            "shipmentPlanId": id//出运计划id
        }*/
        //,method:"get"
        , toolbar: '#attachmenttoolbar'
        , cols: [[
            {field: 'fileName', title: '文件名', fixed: true}
            , {field: 'id', title: 'Id' }
            , {field: 'fileUploadTime', title: '上传日期', fixed: true}
            , {fixed: 'right', width: 180, align: 'center', toolbar: '#attachmenteditor', title: '操作'}
        ]]
        , id: 'attachmenttableid'
        , height: 380
        , page: true
        ,done:function (res, curr, count) {
            $("[data-field='id']").css("display", "none");
        }
    });
    upload.render({
        elem: '#uploadfile'
        /*, url: 'https://httpbin.org/post' //改成您自己的上传接口
        , accept: 'file'*/
        , url: 'ftp/uploadFile'
        , field: "uploadify"     //添加这个属性与后台名称保存一致
        , accept: 'file' //允许上传的文件类型
        , data: {"fileType": "ShipmentPlanFile"}//头像

        , multiple: true
        , auto: false
        , bindAction: '#testListAction'
        , choose: function (obj) {
            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
            //读取本地文件
            obj.preview(function (index, file, result) {
                fujantem.push({"index":index,"file":file});
                var tr = $(['<tr id="upload-' + index + '">'
                    , '<td>' + file.name + '</td>'
                    , '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
                    , '<td>等待上传</td>'
                    , '<td>'
                    , '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
                    , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
                    , '</td>'
                    , '</tr>'].join(''));

                //单个重传
                tr.find('.demo-reload').on('click', function () {
                    obj.upload(index, file);
                });

                //删除
                tr.find('.demo-delete').on('click', function () {
                    delete files[index]; //删除对应的文件
                    tr.remove();
                    uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值，以免删除后出现同名文件不可选
                    for(var i=0;i<fujantem.length;i++){
                        if(fujantem[i].index==index){
                            fujantem[i].remove();
                            break;
                        }
                    }
                });

                $("#uploadlist").append(tr);
            });
        }
        , done: function (res, index, upload) {

            if(res.status==200){//上传成功
                var fileData=[];
                for(var i=0;i<fujantem.length;i++){
                    var obj={};
                    var file=fujantem[i].file;
                    obj.fileName=file.name;
                    obj.size=file.size;
                    obj.type=file.type;
                    obj.fileUrl=res.data[0].ftpPath+"/"+res.data[0].fileName;
                    //obj.ftpFileName=res.data[0].fileName;
                   obj.fileUploadTime=timestampToTime(file.lastModified);
                    fujian.push(obj);
                }
                fujantem=[];
                //fujian=fileData;
                table.reload('attachmenttableid',{data : fujian});

            //if (res.files.file) { //上传成功
                var tr = $("#uploadlist").find('tr#upload-' + index)
                    , tds = tr.children();
                tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
                tds.eq(3).html(''); //清空操作
                return delete this.files[index]; //删除文件队列已经上传成功的文件
            }
            this.error(index, upload);
        }
        , error: function (index, upload) {
            var tr = $("#uploadlist").find('tr#upload-' + index)
                , tds = tr.children();
            tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
        }
    });

    table.on('toolbar(attachmenttable)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'uploadfile':
                $("#uploadlist").html(""); //清空上传列表数据
                layer.open({
                    type: 1,
                    title: "文件上传",
                    area: ['710px', '340px'],
                    content: $("#attachmentupload")//引用的弹出层的页面层的方式加载修改界面表单
                    , cancel: function (index, layero) {
                      //  table.reload('attachmenttableid', {}); //点击关闭刷新表格
                    }
                });
                break;
        }
        ;
    });
    table.on('tool(attachmenttable)', function (obj) {

        var data = obj.data;
        if (obj.event === 'download') { //下载
            downFileLoad(obj.data.fileUrl);
          /*  var a = document.createElement('a');
            var event = new MouseEvent('click');
            a.download = data.filename;
            a.href = data.url;
            a.dispatchEvent(event)*/
        } else if (obj.event === 'del') {
            layer.confirm('真的删除行么', function (index) {
                //需要删除的ID：data.id
                obj.del();
                layer.msg("删除成功", {icon: 6});
                layer.close(index);
                //table.reload('attachmenttableid', {}); //ajax删除成功之后刷新表格
            });
        }
    });

//---操作日志
    table.render({
        elem: '#otherwarehouselog'
        //, data: data2
        ,url:"shipmentPlan/getLogByPage"
        ,where: {
            "shipmentPlanId": id
        }
        ,method:"get"
        , cols: [[
            {field: 'operationtype', title: '操作类型', fixed: true}
            , {field: 'opname', title: '操作员'}
            , {field: 'operationdate', title: '操作日期'}
            , {field: 'modifythecontent', title: '修改内容'}
        ]]
        , id: 'logtableid'
        , height: 380
        , limit: 30//显示的数量
        , page: true
    });


function isNumber(val) {
    var regPos = /^\d+(\.\d+)?$/; //非负浮点数
    var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
    if (regPos.test(val) || regNeg.test(val)) {
        return true;
    } else {
        return false;
    }
}
//获取费用小计
function  getcostSum() {
//费用
    var obj=0;
    var cost=table.cache["costtableid"];
    var cList=[];
    for(var i=0;i<cost.length;i++){
        if(cost[i].length !=0){

            obj+=cost[i].costMoney;
        }
    }
    return obj;
}

//    data.img=JSON.stringify(imgs);
//     data.wj=JSON.stringify(wjs);
//保存出运计划
function  save(data) {
   var pl=[];
   // pl=productList;
    for(var i=0; i<peijianList.length;i++){
        var changeList=peijianList[i].changeList;
        for(var n=0;n<changeList.length;n++){
            pl.push(changeList[n]);
        }

    }
    for(var i=0;i<productList.length;i++){
        pl.push(productList[i])
    }
    data.productList=pl;
    //费用
    var cost=table.cache["costtableid"];
    var cList=[];
    for(var i=0;i<cost.length;i++){
        if(cost[i].length !=0){
            var obj={};
            obj.costDesc=cost[i].costDesc;
            obj.costMoney=cost[i].costMoney;
            obj.costType=cost[i].costType;
            cList.push(obj);
        }
    }
   data.costList=cList;
    //附件
    var fj=[];
    for(var i=0;i<fujian.length;i++){
        var obj={};
        obj.fileName=fujian[i].fileName;
        obj.fileUrl=fujian[i].fileUrl;
       // obj.fileUploadTime=fujian[i].fileUploadTime;
        obj.fileType=fujian[i].type;
        obj.fileSize=fujian[i].size;
        fj.push(obj);
    }
//此处有问题，待调试
    data.fileList=fj;

//保存主信息
    $.ajax({
        type : 'POST',
        //  url : 'resource/getTree',
        data: JSON.stringify(data),
        url:'shipmentPlan/insert',
        dataType:"json",
        contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
               // tf=true;
                //fid = da.data.id;
                layer.msg("保存成功！！");
                setTimeout(function () {
                    //保存成功则刷新提交过来的界面 并关闭此页面
                    parent.detab("views/jsp/ExportBusiness/shipmentplan.jsp");
                    parent.intab("views/jsp/ExportBusiness/shipmentplan.jsp","出运计划")
                    parent.detab("views/jsp/ExportBusiness/tpl/newupshipmentplan.jsp","新增出运计划");
                    parent.detab("views/jsp/ExportBusiness/tpl/newupshipmentplan.jsp"+(id==''?'':'?id='+id));
                },1000);
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });

}

//获取字典
function getdictionary(dl,xl) {
    var obj=[];
    $.ajax({
        type : 'POST',
        //  url : 'resource/getTree',
        data: {"type":dl,"lx":xl},
        url:'dictionary2/getValues',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                obj=da.data;
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    return obj;
}
//获取下拉列表值
function getlxandlevel() {
    var curry=getdictionary(5,14);//币种
    var termspay=getdictionary(5,15);//付款方式
    var priceterm=getdictionary(5,16);//价格术语
    var business=getdictionary(6,20);//业务模式
    var destin = getdictionary(6,29) //目的地
    var places = getdictionary(6,31); //起运地
    var bankValue = getdictionary(6,32); //银行
    var unit = getdictionary(6,42); //单位
    var costtype = getdictionary(5,19);  //费用类型
    var declarecompany=getdictionary(6,48);//报关抬头
    var transmode=getdictionary(2,5);//运输方式
    var stock=getdictionary(4,11);//仓库

    var currency=$("select[name='currency']");//币种
    var priceterms = $("select[name='priceTerm']"); //价格术语
    var termspayment = $("select[name='paymentTerm']"); //收款类型
    var businessmode = $("select[name='businessMode']"); //业务模式
    var place = $("select[name='startPlace']"); //起运地
    var destination = $("select[name='endPlace']"); //目的地
    var bank = $("select[name='bankCode']"); //银行
    var declarecompanystr=$("select[name='declareCompany']");//报关抬头
    var transmodestr=$("select[name='transMode']");//运输方式
    var targetcountrystr=$("select[name='targetCountry']");//运抵国家
    var stockstr=$("select[name='stock']");//仓库
    var unitselect = $("select[name='unitselect']"); //单位
    var costtypeselect = $("select[name='costtypeselect']");   //费用类型

    currency.append(getoption(curry)); //币种
    priceterms.append(getoption(priceterm)); //价格术语
    termspayment.append(getoption(termspay)); //付款方式
    businessmode.append(getoption(business)); //业务模式
    place.append(getoption(places)); //起运地
    destination.append(getoption(destin)); //目的地
    bank.append(getoption(bankValue)); //银行
    unitselect.append(getoption(unit)); //单位
    costtypeselect.append(getoption(costtype));    //费用类型
    declarecompanystr.append(getoption(declarecompany));//报关抬头
    transmodestr.append(getoption(transmode));//运输方式
    targetcountrystr.append(getoption(destin));//运抵国家
    stockstr.append(getoption(stock));//运抵国家

    form.render();

}



//获取用户
function getUser() {
    var obj=[];
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/getAllUser',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                for(var i=0;i<da.data.length;i++){
                    var data={};
                    data.code=da.data[i].code;
                    data.name=da.data[i].name;
                    obj.push(data);
                }
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    return obj;
}
//获取客户
function getCustomer() {
    var obj=[];
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/getCustomer',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
               // obj=da.data;
                for(var i=0;i<da.data.length;i++){
                    var data={};
                    data.code=da.data[i].code;
                    data.name=da.data[i].name;
                    obj.push(data);
                }
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    return obj;
}

//获取签约公司
function getCompany() {
    var obj=[];
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/getCompany',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){

                for(var i=0;i<da.data.length;i++){
                    var data={};
                    data.code=da.data[i].code;
                    data.name=da.data[i].name;
                    obj.push(data);
                }
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    return obj;
}

function setPullMenu(){
    var company = getCompany();   //签约公司
    var customer = getCustomer();   //客户名称
   var opname=getUser();//业务员
    var companyid = $("select[name='companyCode']"); //签约公司
    var customername = $("select[name='customerCode']"); //客户名称
    var opnamestr=$("select[name='salesmanCode']"); //业务员


    companyid.append(getoption(company));
    customername.append(getoption(customer));
    opnamestr.append(getoption(opname));
    form.render();
}
function  getoption(objs) {
    var stoptions="";
    for(var i=0;i<objs.length;i++){
        stoptions+="<option value='"+objs[i].code+"'>"+objs[i].name+"</option>";
    }
    return stoptions;
}


function queryByid(da) {
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTre,
        data:{"id":da},
        url:'shipmentPlan/selectByKey',
        dataType:"json",
        /*  contentType: 'application/json',*/
        async:false,
        success : function (da) {
            if(da.status==200 ){
                initData(da.data);
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
}
function  initData(data) {
    form.val("editor-form", {
        "id": data.id,
        "customerCode": data.customerCode,//客户名称
        "contactPerson": data.contactPerson,//联系人
        "shipmentNo": data.shipmentNo,//计划编号
        "shipmentDate": data.shipmentDate,//出运日期
        "currency": data.currency,//币种
        "usdRate": data.usdRate,//美元汇率
        "rmbRate": data.rmbRate,//人民币汇率
        "startPlace": data.startPlace,//起运地
        "endPlace": data.endPlace,//目的地
        "targetCountry": data.targetCountry,//运抵国家
        "transhipment": data.transhipment,//转船运输
        "transMode": data.transMode,//运输方式
        "paymentTerm": data.paymentTerm,//收款类型
        "priceTerm": data.priceTerm,//价格术语
        "invoiceAmount": data.invoiceAmount,//发票总额
        "makeTime": data.makeTime,//制单日期
        "salesContractNo": data.salesContractNo,//销售合同号
        "customerContractNo": data.customerContractNo,//客户合同号
        "salesmanCode": data.salesmanCode,//业务员
        "businessMode": data.businessMode,//业务模式
        "proFinishDate": data.proFinishDate,//货好日期
        "brand": data.brand,//品牌
        "stock": data.stock,//仓库
        "boxType": data.boxType,//箱型
        "payDay": data.payDay,//客户账期
        "declareCompany": data.declareCompany,//报关抬头
        "companyCode": data.companyCode,//签约公司
        "bankCode": data.bankCode,//银行
        "executorCode":data.executorCode
    })

   /* laydate.render({
        elem: "#shdate",
        max: 0,//最大值为当前日期
        eventElem: '#starttime',//日期输入框的图标，给图标也绑定点击事件
        trigger: 'click',
        value: data.carrydate //默认值30天前
    });

    laydate.render({
        elem: "#mdate",
        max: 0,//最大值为当前日期
        eventElem: '#starttime',//日期输入框的图标，给图标也绑定点击事件
        trigger: 'click',
        value: data.createtime //默认值30天前
    });

    laydate.render({
        elem: "#adate",
        max: 0,//最大值为当前日期
        eventElem: '#starttime',//日期输入框的图标，给图标也绑定点击事件
        trigger: 'click',
        value: data.profinishdate //默认值30天前
    });*/




    form.render();
}
//附件
function getfujian() {
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/selectFileBySpId',
        data:{"shipmentPlanId":id},
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                // productList=da.data;
               // fujian.push(da.data);
                fujian=da.data;
            }
        },
        error: function(data) {
            // layer.msg("获取失败!"); 日志
        }
    });
    table.reload('attachmenttableid',{data : fujian});
}
//费用 获取数据
function getfeiyong() {
    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/selectCostBySpId',
        data:{"shipmentPlanId":id},
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                // productList=da.data;
               // feiyong.push(da.data);
                feiyong=da.data;
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    table.reload('costtableid',{data : feiyong});

}
//产品获取数据
function  getProdcuInfo() {

    $.ajax({
        type : 'GET',
        //  url : 'resource/getTree',
        url:'shipmentPlan/selectProductByShipmentPlanId',
        data:{"spId":id},
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
               // productList=da.data;
                getProductList(da.data);
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
}
//回显时拼装产品列表与部件列表
function getProductList(data) {
    var changeList=[];
   for(var i=0;i<data.length;i++){
       data[i].supplierName=data[i].supplierCode;
       if(data[i].type=="1") {//产品
           productList.push(data[i]);
       }else{//部件
           changeList.push(data[i]);
       }
   }
   //遍历changeList，组装部件列表
    for(var i=0;i<changeList.length;i++){
        var productId=changeList[i].productId;
         getPeijianList(productId,changeList[i]);
    }


}
//组装部件列表
function getPeijianList(productId,pj) {
    var tf=false;
   for(var i=0;i<peijianList.length;i++){
       if(productId == peijianList[i].productId){
           tf=true;
           (peijianList[i].changeList).push(pj);
           break;
       }
   }
   if(peijianList.length==0 || tf){
       var changeList=[];
       changeList.push(pj);
       var jsons = {"productId":productId,"changeList":changeList};
       peijianList.push(jsons)
   }

}
//##########################未修改#################################################
//导入外销、备货时可选多合同，即多对多

//产品导入后刷新表格，外销
function cyjhresh(productListin,waixiaohetong){//外销产品列有，外销合同
    productList=[];//产品列表数据源
    peijianList=[];//配件列表数据源
    getProdcuInfo();//如果是修改，导入表中的数据

    var exportContractNo=waixiaohetong.billNo;//外销合同号
    var pcodandgcode=[];//产品编码+规格编码
    var productListFrom=[];//导入外销的产品
     var producListTem=[];//临时缓存
    //从外销合同中取相关数据
         //业务模式
         var businessModelName=waixiaohetong.businessModelName;
   //通过 销售合同号获取采购合同产品、配件
    var cghts=getCG(exportContractNo );//getCG(exportContractNo,pcodandgcode);
    peijianList=cghts;
    //根据产品编码过虑
    for(var i=0;i<cghts.length;i++){
        var pn=cghts[i].productNo;//采购中的产品编码
        for(var n=0;n<productListin.length;n++){
            var pl=productListin[n].productCode;///外销中的产品编码
            if(pn==pl){
                producListTem.push(cghts[i]);
                break;
            }
        }
    }
   // peijianList=cghts;//包含产品与配件，用采购类型来区分
    cghts=producListTem;

    //取出采购产品、外销产品，拼装出运计划产品
    for(var i=0;i<cghts.length;i++){
        if("1"==cghts[i].purchaseType){//成品；2：配件
            var obj={};
            /*obj.productNo=cghts[i].productNo;//产品编码
            obj.specNo=cghts[i].specNo;//规格编码*/
            if(businessModelName.indexOf("正常") != -1){
                obj.purchaseNo=cghts[i].purchaseOrderNo;//采购单号
                obj.amount=cghts[i].amount;//采购中数量
            }else{
                obj.purchaseNo="";//采购单号为空
            }
            //毛重
            obj.grossWeight=cghts[i].grossWeight;
            //净重
            obj.netWeight=cghts[i].netWeight;
            //体积
            obj.volume=cghts[i].volume;
            // 托数
            obj.trayNumber=cghts[i].trayNumber;
            // 每托量
            obj.trayCapacity=cghts[i].trayCapacity;
            // 件数
            obj.numberOfPiece=cghts[i].numberOfPiece;
            // 每件数量
            obj.qty=cghts[i].qty;
            //付款账期
            obj.payTime=cghts[i].payTime;
            //成品成本
            obj.wholeCostPrice=cghts[i].price;
            //供应商
            obj.supplierCode=cghts[i].supplierCode;//编码
            obj.supplierName=cghts[i].supplierName;//名称
            //obj.purchaseId=cghts[i].purchaseId;//采购尖
            //开始比对外销
            var tf=0;
            for(var n=0;n<productListin.length;n++){
                if(cghts[i].productNo+cghts[i].specNo==productListin[n].productCode+productListin[n].specificationCode){
                    tf=1;
                    obj.productNo=productListin[n].productCode;//产品编码
                    obj.specNo=productListin[n].specificationCode;//规格编码
                    obj.normExplain=productListin[n].specificationExplanation;//规格说明
                    obj.customerContractNo= productListin[n].clientProductNo;//客户货号
                    obj.chineseName= productListin[n].productCname;//', width: 120, title: '中文名称',edit:'text'},
                    obj.englishName= productListin[n].productEname;//', width: 120, title: '英文名称',edit:'text'},
                    obj.chineseDesc= productListin[n].productCdesc;//', width: 120, title: '中文描述',edit:'text'},
                    obj.englishDesc= productListin[n].productEdesc;//', width: 120, title: '英文描述',edit:'text'},
                    obj.colour= productListin[n].color;//', width: 120, title: '颜色',edit:'text'},
                    obj.exportContractNo= exportContractNo;//productListin[n].billNO;//', width: 120, title: '外销合同号',edit:'text'},
                    obj.outPackLength= productListin[n].outerPackingLong;//', title:'外包装长', width: 120, edit: 'text'},
                    obj.outPackWidth= productListin[n].outerPackingWide;//', title:'外包装宽', width: 120, edit: 'text'},
                    obj.outPackHeight= productListin[n].outerPackingHeight;//', title:'外包装高', width: 120, edit: 'text'},
                    if(businessModelName.indexOf("正常") == -1){
                        obj.amount=productListin[n].productNum;//数量,外销中数量
                        obj.accessoryCostPrice=0;//配件成本
                    }else{//正常模式
                        obj.amount= cghts[i].amount;//采购中数量
                      //  obj.accessoryCostPrice=peijiancb(exportContractNo,obj.productNo,obj.specNo,businessModelName,productListin[n].id,waixiaohetong.id);//配件成本
                    }
                    obj.unit= productListin[n].productUnitName;//', width: 120, title: '单位', templet: '#unitselect'},
                    obj.price= productListin[n].unitPrice;//', width: 80, title: '单价',edit:'text'},
                    obj.priceSubtotal=obj.price*obj.amount;//金额小计
                    obj.grossSubtotal=obj.grossWeight*obj.numberOfPiece;//毛重小计
                    obj.netSubtotal=obj.netWeight*obj.numberOfPiece;//净重小计
                    obj.trayNumber=obj.amount/obj.trayCapacity;//托数
                    obj.numberOfPiece=obj.amount/obj.qty;//件数
                    obj.outPackSize=obj.outPackLength*obj.outPackWidth*obj.outPackHeight;//外包装尺寸
                    obj.costPrice=obj.wholeCostPrice+obj.accessoryCostPrice;//成品单价
                    obj.costPriceSubtotal=obj.costPrice*obj.amount;//成本小计


                    break;
                }
            }
            if(tf==0){//如果采购合同中的产品与外销中选择的产品不匹配，不处理
                continue;
            }
            productList.push(obj);

        }



    }
    //取出产品配件  peijianList

    //setProduct(productList);

    layer.msg("OK ");
    table.reload('storageproductstableid', {

        data:productList
        ,page: {
            curr: 1 //重新从第 1 页开始
        }

    }, 'data');
}

/**
 * 根据外销合同号获取采购合同
 */
function getCG(exportContractNo) {
    var cght=[];
    $.ajax({
        type : 'GET'
        //  url : 'resource/getTree',salesContractNo
        ,data:{"salesContractNo":exportContractNo },
        url:'shipmentPlan/selectCaiGuoByWaiXiao',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
               cght=da.data;
            }
        },
        error: function(data) {
            // layer.msg("获取失败!");
        }
    });
    return cght;
}

//通过 外销合同号、产品编码、规格编码获取配件成本
function peijiancb(salesContractNo,productNo,specNo,businessModelName,wxid,wxhtid) {
//正常业务，有采购单号
    if(businessModelName.indexOf("正常") != -1){
        var pjcb=0;//配件成本
        for(var i=0;i<peijianList.length;i++){
            if(salesContractNo==peijianList[i].salesContractNo && peijianList[i].productNo==productNo
                && peijianList[i].specNo==specNo &&peijianList[i].purchaseType=="2"){
                pjcb+=peijianList[i].costPrice;
            }
        }
        var bj=[];
        var wxcp=getwxbj(wxid);//外销产品部件
        for(var i=0;i<peijianList.length;i++){
            if(peijianList[i].purchaseType=="1"){
                continue;
            }
            var obj={};
            obj.productNo=productNo;//产品编码
            obj.specNo=specNo;//规格编码
            for(var n=0;n<wxcp.length;n++){
                if(productNo == wxcp[n].partsCode){//采购部件中的产品编码与外销中的部件编码
                    obj.proportionFinishedProducts=wxcp[i].proportionFinishedProducts;//成品比例
                    obj.partsFinishedProducts=wxcp[i].partsFinishedProducts;//配件比例
                }
            }
            obj.amount=peijianList[i].amount;//配件数量
            obj.costPrice=peijianList[i].costPrice;//成本单价
            obj.costPriceSubtotal=peijianList[i].costPriceSubtotal;//成本小计
            obj.purchaseNo=peijianList[i].purchaseNo;//采购单号
            obj.supplierName=peijianList[i].supplierName;//供应商
            obj.chineseDesc=peijianList[i].productCname;//中文名称
            obj.englishDesc=peijianList[i].productEname//英文名称
            obj.grossWeight=peijianList[i].grossWeight;//毛重
            obj.netWeight=peijianList[i].netWeight;//净重
            obj.volume=peijianList[i].volume;//体积
            bj.push(obj);

        }
        peijianList=bj;
        return pjcb;
    }else{//配件从外销中取
        peijianList=[];
        var wxpj=[];
        $.ajax({
            type : 'GET'
            //  url : 'resource/getTree',salesContractNo
            ,data:{"id":wxid },//外销产品id
            url:'exportContract/import/getContractProductPartsById',
            dataType:"json",
            // contentType: 'application/json',
            async:false,
            success : function (da) {
                if(da.status==200 ){
                    wxpj =da.data;
                }
            },
            error: function(data) {
                //layer.msg("获取失败!");
            }
        });
        for(var i=0;i<wxpj.length;i++){
            var obj={};
            obj.productNo=productNo;//产品编码
            obj.specNo=specNo;//规格编码
            obj.proportionFinishedProducts=wxpj[i].proportionFinishedProducts;//成品比例
            obj.partsFinishedProducts=wxpj[i].partsFinishedProducts;//配件比例
            obj.amount=wxpj[i].partsAmount;//配件数量
            obj.costPrice="";//成本单价
            obj.costPriceSubtotal="";//成本小计
            obj.purchaseNo="";//采购单号
            obj.supplierName="";//供应商
            obj.chineseDesc=wxpj[i].productCname;//中文名称
            obj.englishDesc=wxpj[i].productEname//英文名称
            obj.grossWeight=wxpj[i].grossWeight;//毛重
            obj.netWeight=wxpj[i].netWeight;//净重
            obj.volume=wxpj[i].bulk;//体积
            peijianList.push(obj);
        }
        return 0;
    }

}
//通过 外销合同号、产品编码、规格编码获取配件信息
function chanpinbujianData(obj) {
    var objs=[];
    for(var i=0;i<peijianList.length;i++){
        if(salesContractNo==peijianList[i].salesContractNo && peijianList[i].productNo==productNo && peijianList[i].specNo==specNo &&peijianList[i].purchaseType=="2"){
            //pjcb+=peijianList[i].costPrice;

        }
    }
    return objs;
}
//根据外销产品id获取外销产品部件
function getwxbj(id) {
    var obj=[];
    $.ajax({
        type : 'GET'
        //  url : 'resource/getTree',salesContractNo
        ,data:{"id":id },//外销产品id
        url:'exportContract/import/getContractProductPartsById',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                obj =da.data;
            }
        },
        error: function(data) {
           // layer.msg("获取失败!");
        }
    });
    return obj;
}
function cyjhreshWX(purchaseorderdata,changeList) {
    var ht=purchaseorderdata[0];
    //出运主信息相关字段
    var customerCode=ht.customerCode;//客户编码
    var currencyCode=ht.currencyCode;//币种编码
    var priceTermsCode=ht.priceTermsCode;//价格术语编码
    var businessModelCode=ht.businessModelCode;//业务模式
    var bankCode=ht.bankCode;//银行编码
    var signingCompanyCode=ht.signingCompanyCode;//签约公司编码
    var transitPlaceCode=ht.transitPlaceCode;//起运地
    var destinationCode=ht.destinationCode;//目的地
    var paymentTerm=ht.paymentTypeCode;//收款类型

    var customerContactName=ht.customerContactName;//客户联系人
    var rmbRate=ht.rmbRate//人民币汇率
    var usdRate=ht.usdRate;//美金汇率
    var billNo=ht.billNo;//外销合同号
    var customerContactNo=ht.customerContactNo;//客户合同号
    var salesmanCode=ht.salesmanCode;//业务员
    var customerAccountingPeriod=ht.customerAccountingPeriod;//帐期
//主信息赋值
    form.val("editor-form", {
        "customerCode":customerCode,
        "companyCode":signingCompanyCode,
        "contactPerson":customerContactName,
        "rmbRate":rmbRate,
        "usdRate":usdRate,
        "salesContractNo":billNo,
        "customerContractNo":customerContactNo,
        "salesmanCode":salesmanCode,
        "currency":currencyCode ,
        "priceTerm": priceTermsCode,
        "paymentTerm": paymentTerm,
        "businessMode": businessModelCode,
        "startPlace": transitPlaceCode,
        "endPlace": destinationCode,
        "bankCode": bankCode,
        "payDay":customerAccountingPeriod
    })
    for(var i=0;i<changeList.length;i++){
       // var cp=changeList[i];
        var cps=changeList[i].changeList;
        for(var n=0;n<cps.length;n++){
            var cp=cps[n];

            var obj={};
            obj.img=cp.img;
            obj.type="1";
            obj.purchaseId=cp.purchaseId;//采购单id
            obj.productId=cp.id;//产品id
            //取采购产品中信息
            obj.purchaseNo=cp.purchaseOrderNo;//采购单号
            obj.amount=cp.productNum;//采购中数量
            obj.grossWeight=cp.grossWeight;//毛重
            obj.netWeight=cp.netWeight;//净重
            obj.volume=cp.volume;//体积
            obj.trayNumber=cp.trayNumber// 托数
            obj.trayCapacity=cp.trayCapacity;// 每托量
            obj.numberOfPiece=cp.numberOfPiece;// 件数
            obj.qty=cp.qty;// 每件数量
            obj.payTime=cp.payTime;//付款账期
            obj.wholeCostPrice=cp.price==null?0:cp.price.toFixed(4);//成品成本     没提供，需补充
            obj.supplierCode=cp.supplierCode;//编码  //供应商     没提供，需补充
            obj.supplierName=cp.supplierName;//名称
            //取外销产品中信息
            obj.productNo=cp.productCode;//产品编码
            obj.specNo=cp.specificationCode;//规格编码
            obj.normExplain=cp.specificationExplanation;//规格说明
            obj.customerContractNo=cp.clientProductNo;//客户货号
            obj.chineseName= cp.productCname;//', width: 120, title: '中文名称',edit:'text'},
            obj.englishName= cp.productEname;//', width: 120, title: '英文名称',edit:'text'},
            obj.chineseDesc= cp.productCdesc;//', width: 120, title: '中文描述',edit:'text'},
            obj.englishDesc= cp.productEdesc;//', width: 120, title: '英文描述',edit:'text'},
            obj.colour= cp.color;//', width: 120, title: '颜色',edit:'text'},

            obj.exportContractNo= cp.billNo;//productListin[n].billNO;//', width: 120, title: '外销合同号',edit:'text'},  没提供，需要补充
            obj.outPackLength= cp.outerPackingLong;//', title:'外包装长', width: 120, edit: 'text'},
            obj.outPackWidth= cp.outerPackingWide;//', title:'外包装宽', width: 120, edit: 'text'},
            obj.outPackHeight= cp.outerPackingHeight;//', title:'外包装高', width: 120, edit: 'text'},


            obj.accessoryCostPrice=getpeijian(obj.productId,obj.amount, businessModelCode);//配件成本 没提供，需要补充02
            obj.cpid=cp.id;

            obj.unit= cp.productUnitName;//', width: 120, title: '单位', templet: '#unitselect'},
            obj.price= cp.unitPrice==null?0:cp.unitPrice.toFixed(2);//', width: 80, title: '单价',edit:'text'},
            obj.priceSubtotal=(obj.price*obj.amount).toFixed(2);//金额小计
            obj.grossSubtotal=obj.grossWeight*obj.numberOfPiece;//毛重小计
            obj.netSubtotal=obj.netWeight*obj.numberOfPiece;//净重小计
            obj.trayNumber=Math.ceil(obj.amount/obj.trayCapacity);//托数
            obj.numberOfPiece=Math.ceil(obj.amount/obj.qty);//件数
            obj.outPackSize=obj.outPackLength*obj.outPackWidth*obj.outPackHeight;//外包装尺寸
            obj.costPrice=(parseFloat(obj.wholeCostPrice)+parseFloat(obj.accessoryCostPrice)).toFixed(4);//成本单价
            obj.costPriceSubtotal=(obj.costPrice*obj.amount).toFixed(2);//成本小计
            productList.push(obj);
        }
    }

    var ia=$("input[name='invoiceAmount']")[0].value;
    if(ia=="" || ia=="Nan"){
        ia=0;
    }
    //var am=0;
    for(var i=0;i<productList.length;i++){
        ia=parseFloat(  productList[i].priceSubtotal)+parseFloat(ia);
    }
    $("input[name='invoiceAmount']")[0].value= parseFloat(ia)+parseFloat(getcostSum());
    // layer.msg("OK ");
    table.reload('storageproductstableid', {

        data:productList
        ,page: {
            curr: 1 //重新从第 1 页开始
        }

    }, 'data');
}
//外销导入刷新产品列表,外销合同列表，产品列表
function cyjhreshWX222(purchaseorderdata,changeList) {

    var ht=purchaseorderdata[0];
    //出运主信息相关字段
    var customerCode=ht.customerCode;//客户编码
    var currencyCode=ht.currencyCode;//币种编码
    var priceTermsCode=ht.priceTermsCode;//价格术语编码
    var businessModelCode=ht.businessModelCode;//业务模式
    var bankCode=ht.bankCode;//银行编码
    var signingCompanyCode=ht.signingCompanyCode;//签约公司编码
    var transitPlaceCode=ht.transitPlaceCode;//起运地
    var destinationCode=ht.destinationCode;//目的地
    var paymentTerm=ht.paymentTypeCode;//收款类型

    var customerContactName=ht.customerContactName;//客户联系人
    var rmbRate=ht.rmbRate//人民币汇率
    var usdRate=ht.usdRate;//美金汇率
    var billNo=ht.billNo;//外销合同号
    var customerContactNo=ht.customerContactNo;//客户合同号
    var salesmanCode=ht.salesmanCode;//业务员
    var customerAccountingPeriod=ht.customerAccountingPeriod;//帐期
//主信息赋值
    form.val("editor-form", {
        "customerCode":customerCode,
        "companyCode":signingCompanyCode,
        "contactPerson":customerContactName,
        "rmbRate":rmbRate,
        "usdRate":usdRate,
        "salesContractNo":billNo,
        "customerContractNo":customerContactNo,
        "salesmanCode":salesmanCode,
        "currency":currencyCode ,
        "priceTerm": priceTermsCode,
        "paymentTerm": paymentTerm,
        "businessMode": businessModelCode,
        "startPlace": transitPlaceCode,
        "endPlace": destinationCode,
        "bankCode": bankCode,
        "payDay":customerAccountingPeriod
    })
//遍历外销合同
    for(var i=0;i<purchaseorderdata.length;i++){
        var wxht=purchaseorderdata[i];//外销合同
        //业务模式 02：正常模式
        var mushi=wxht.businessModelCode;
        //取外销产品
        var wxcp=[];
        for(var n=0;n<changeList.length;n++){
           if( wxht.id==changeList[n].id){//如果外销合同id==changeList中的id，即是当前合同的产品
                wxcp.push(changeList[n].changeList);
           }
        }
        if("02"==mushi){//正常模式
            //通过 销售合同号获取采购合同产品、配件
            var cghts=getCG(wxht.billNo );
            //通过产品编码、规格编码与外销产品比对，得到采购合同中的相关的外销产品
            for(var n=0;n<cghts.length;n++) {
                var cg=cghts[n];
                var cgcpbm=cghts[n].productNo;//采购合同中的产品编码
                var cgtype=cghts[n].purchaseType;//采购类型，1：产品；2：配件
                if("1"==cgtype){//产品
                    var wxcpData=wxcp[0];
                    for(var m=0;m<wxcpData.length;m++){
                        var wxpc=wxcpData[m].productCode;//外销产品中的产品编码
                        if(cgcpbm==wxpc){//采购中的产品匹配上外销产品,开始拼装产品列表
                            var wx=wxcpData[m];//外销产品
                            var obj={};//拼装产品对象
                            obj.type="1";
                            obj.purchaseId=cg.purchaseId;//采购单id
                            obj.productId=wx.id;//产品id
                            //取采购产品中信息
                            obj.purchaseNo=cg.purchaseOrderNo;//采购单号
                            obj.amount=cg.amount;//采购中数量
                            obj.grossWeight=cg.grossWeight;//毛重
                            obj.netWeight=cg.netWeight;//净重
                            obj.volume=cg.volume;//体积
                            obj.trayNumber=cg.trayNumber// 托数
                            obj.trayCapacity=cg.trayCapacity;// 每托量
                            obj.numberOfPiece=cg.numberOfPiece;// 件数
                            obj.qty=cg.qty;// 每件数量
                            obj.payTime=cg.payTime;//付款账期
                            obj.wholeCostPrice=cg.price.toFixed(4);//成品成本
                            obj.supplierCode=cg.supplierCode;//编码  //供应商
                            obj.supplierName=cg.supplierName;//名称
                            //取外销产品中信息
                            obj.productNo=wx.productCode;//产品编码
                            obj.specNo=wx.specificationCode;//规格编码
                            obj.normExplain=wx.specificationExplanation;//规格说明
                            obj.customerContractNo=wx.clientProductNo;//客户货号
                            obj.chineseName= wx.productCname;//', width: 120, title: '中文名称',edit:'text'},
                            obj.englishName= wx.productEname;//', width: 120, title: '英文名称',edit:'text'},
                            obj.chineseDesc= wx.productCdesc;//', width: 120, title: '中文描述',edit:'text'},
                            obj.englishDesc= wx.productEdesc;//', width: 120, title: '英文描述',edit:'text'},
                            obj.colour= wx.color;//', width: 120, title: '颜色',edit:'text'},

                            obj.exportContractNo= wxht.billNo;//productListin[n].billNO;//', width: 120, title: '外销合同号',edit:'text'},
                            obj.outPackLength= wx.outerPackingLong;//', title:'外包装长', width: 120, edit: 'text'},
                            obj.outPackWidth= wx.outerPackingWide;//', title:'外包装宽', width: 120, edit: 'text'},
                            obj.outPackHeight= wx.outerPackingHeight;//', title:'外包装高', width: 120, edit: 'text'},

                            //obj.amount=cghts[i].amount;//采购中数量
                            //配件成本
                            //obj.accessoryCostPrice=0;
                            //取配件成本,入参：外销产品id、采购合同产品列表
                            obj.accessoryCostPrice=getpeijian(wx.id,cghts,"02");
                            obj.cpid=wx.id;
                            //  obj.accessoryCostPrice=peijiancb(exportContractNo,obj.productNo,obj.specNo,businessModelName,productListin[n].id,waixiaohetong.id);//配件成本

                            obj.unit= wx.productUnitName;//', width: 120, title: '单位', templet: '#unitselect'},
                            obj.price= wx.unitPrice.toFixed(2);//', width: 80, title: '单价',edit:'text'},
                            obj.priceSubtotal=(obj.price*obj.amount).toFixed(2);//金额小计
                            obj.grossSubtotal=obj.grossWeight*obj.numberOfPiece;//毛重小计
                            obj.netSubtotal=obj.netWeight*obj.numberOfPiece;//净重小计
                            obj.trayNumber=Math.ceil(obj.amount/obj.trayCapacity);//托数
                            obj.numberOfPiece=Math.ceil(obj.amount/obj.qty);//件数
                            obj.outPackSize=obj.outPackLength*obj.outPackWidth*obj.outPackHeight;//外包装尺寸
                            obj.costPrice=(parseFloat(obj.wholeCostPrice)+parseFloat(obj.accessoryCostPrice)).toFixed(4);//成本单价
                            obj.costPriceSubtotal=(obj.costPrice*obj.amount).toFixed(2);//成本小计
                            productList.push(obj);
                        }
                    }

                }

            }

        }else{//海外业务
            var wxcpData=wxcp[0];//外销产品列表
           // var wxpc=wxcpData[m].productCode;//外销产品中的产品编码
            for(var i=0;i<wxcpData.length;i++){
               // var wxpc=wxcpData[i].productCode;//外销产品中的产品编码
                var wx=wxcpData[i];//外销产品
                var obj={};//拼装产品对象
                obj.type="1";
                //取采购产品中信息
                obj.productId=wx.id;//产品id
                //obj.purchaseNo="";//采购单号
                obj.amount=wx.productNum;//外销产品中数量

                //取外销产品中信息
                obj.productNo=wx.productCode;//产品编码
                obj.specNo=wx.specificationCode;//规格编码
                obj.normExplain=wx.specificationExplanation;//规格说明
                obj.customerContractNo=wx.clientProductNo;//客户货号
                obj.chineseName= wx.productCname;//', width: 120, title: '中文名称',edit:'text'},
                obj.englishName= wx.productEname;//', width: 120, title: '英文名称',edit:'text'},
                obj.chineseDesc= wx.productCdesc;//', width: 120, title: '中文描述',edit:'text'},
                obj.englishDesc= wx.productEdesc;//', width: 120, title: '英文描述',edit:'text'},
                obj.colour= wx.color;//', width: 120, title: '颜色',edit:'text'},

                obj.exportContractNo= wxht.billNo;//productListin[n].billNO;//', width: 120, title: '外销合同号',edit:'text'},
                obj.outPackLength= wx.outerPackingLong;//', title:'外包装长', width: 120, edit: 'text'},
                obj.outPackWidth= wx.outerPackingWide;//', title:'外包装宽', width: 120, edit: 'text'},
                obj.outPackHeight= wx.outerPackingHeight;//', title:'外包装高', width: 120, edit: 'text'},

                //obj.amount=obj.amount=cghts[i].amount;//采购中数量
                //配件成本
                //obj.accessoryCostPrice=0;
                //取配件成本,入参：外销产品id、采购合同产品列表
                obj.accessoryCostPrice=getpeijian(wx.id,obj.amount,"01");
                obj.cpid=wx.id;
                //  obj.accessoryCostPrice=peijiancb(exportContractNo,obj.productNo,obj.specNo,businessModelName,productListin[n].id,waixiaohetong.id);//配件成本

                obj.unit= wx.productUnitName;//', width: 120, title: '单位', templet: '#unitselect'},
                obj.price= wx.unitPrice.toFixed(2);//', width: 80, title: '单价',edit:'text'},
                obj.priceSubtotal=(obj.price*obj.amount).toFixed(2);//金额小计
               /* obj.grossSubtotal=obj.grossWeight*obj.numberOfPiece;//毛重小计
                obj.netSubtotal=obj.netWeight*obj.numberOfPiece;//净重小计
                obj.trayNumber=Math.ceil(obj.amount/obj.trayCapacity);//托数
                obj.numberOfPiece=Math.ceil(obj.amount/obj.qty);//件数*/
                obj.outPackSize=obj.outPackLength*obj.outPackWidth*obj.outPackHeight;//外包装尺寸
               // obj.costPrice=(parseFloat(obj.wholeCostPrice)+parseFloat(obj.accessoryCostPrice)).toFixed(4);//成本单价
               // obj.costPriceSubtotal=(obj.costPrice*obj.amount).toFixed(2);//成本小计
                productList.push(obj);
            }

        }
    }
    var ia=$("input[name='invoiceAmount']")[0].value;
    if(ia=="" || ia=="Nan"){
        ia=0;
    }
    //var am=0;
    for(var i=0;i<productList.length;i++){
        ia=parseFloat(  productList[i].priceSubtotal)+parseFloat(ia);
    }
    $("input[name='invoiceAmount']")[0].value= parseFloat(ia)+parseFloat(getcostSum());
   // layer.msg("OK ");
    table.reload('storageproductstableid', {

        data:productList
        ,page: {
            curr: 1 //重新从第 1 页开始
        }

    }, 'data');
}
//取产品配件, //取配件成本,入参：外销产品id、ms:业务模式
function  getpeijian(wxid,amount,ms) {//配件中，采购产品配件中的producCode=外销配件中的配件编码
    //取采购产品中的配件
    var pjcb=0;//配件成本
    var changeList=[];//配件列表
    //外销配件
    var wxpj=getwxbj(wxid);
    if("1"==ms || "4" === ms){//正常业务、内贸模式
        for(var i=0;i<wxpj.length;i++){
            var wx=wxpj[i];
            var partsCode=wx.partsCode;//配件编码


                    var obj={};
                    obj.type="2";
                    obj.purchaseId=wx.purchaseId;//采购单id
                    obj.productId=wxid;//产品id
                    obj.productNo=partsCode;//外销配件 编码
                    obj.specNo=wx.specNo;//外销规格编码
                    obj.proportionFinishedProducts=wx.proportionFinishedProducts;//外销成品比例
                    obj.partsFinishedProducts=wx.partsFinishedProducts;//外销配件比例
                    obj.supplierName=wx.supplierName;//供应商
                    obj.chineseDesc=wx.productCname;//中文名称
                    obj.englishDesc=wx.productEname//英文名称
                    obj.grossWeight=wx.grossWeight;//毛重
                    obj.netWeight=wx.netWeight;//净重
                    obj.volume=wx.bulk;//体积

                    obj.amount=amount*obj.partsFinishedProducts;//配件数量

                    obj.costPrice=wx.price==null?0:wx.price.toFixed(4);//成本单价
                    obj.costPriceSubtotal=(obj.amount*obj.costPrice).toFixed(2);//成本小计
                    obj.purchaseNo=wx.purchaseOrderNo;//采购单号
                    obj.cpid=wxid;//外销产品id
                    pjcb+=parseFloat(obj.costPrice);//配件成本
                    changeList.push(obj);
                    break;


        }

    }else{//海外业务
        for(var i=0;i<wxpj.length;i++){
            var wx=wxpj[i];
            var obj={};
            obj.type="2";
            obj.productId=wxid;//产品id
            obj.productNo=wx.partsCode;//外销配件 编码
            obj.specNo=wx.specNo;//外销规格编码
            obj.proportionFinishedProducts=wx.proportionFinishedProducts;//外销成品比例
            obj.partsFinishedProducts=wx.partsFinishedProducts;//外销配件比例
           // obj.supplierName=cg.supplierName;//供应商
            obj.chineseDesc=wx.productCname;//中文名称
            obj.englishDesc=wx.productEname//英文名称
            obj.grossWeight=wx.grossWeight;//毛重
            obj.netWeight=wx.netWeight;//净重
            obj.volume=wx.bulk;//体积
//cghts:产品数量
            obj.amount=amount*obj.partsFinishedProducts;//配件数量
//海外模式无成本单价，则写列为0
            obj.costPrice=0;//cghts.toFixed(4);//成本单价
           // obj.costPriceSubtotal=(obj.amount*obj.costPrice).toFixed(2);//成本小计
            //obj.purchaseNo=cg.purchaseOrderNo;//采购单号
            obj.cpid=wxid;//外销产品id
           // pjcb+=parseFloat(obj.costPrice);//配件成本
            changeList.push(obj);
        }


    }
    var jsons = {"productId":wxid,"changeList":changeList};
    peijianList.push(jsons);

return  pjcb;

}
//修改产品数量时更新配件信息
function  getpeijian2(wxid,amount) {//配件中，采购产品配件中的producCode=外销配件中的配件编码
    //取采购产品中的配件
    var pjcb=0;//配件成本
   for(var i=0;i<peijianList.length;i++){
       var pj=peijianList[i];
       if(pj.productId==wxid){
           var data=pj.changeList;
           for(var n=0;n<data.length;n++){
               var obj=data[n];
               obj.amount=amount*obj.partsFinishedProducts;//配件数量
               obj.costPriceSubtotal=obj.amount*obj.costPrice;//成本小计
               pjcb+=parseFloat(obj.costPrice);//配件成本
           }

       }
   }

    return  pjcb;

}
function wxandbhflag2(flag) {
    wxandbhflag=flag;
}
//备货导入刷新产品列表,外销合同列表，产品列表
function cyjhreshBH(purchaseorderdata,changeList) {
    var ht=purchaseorderdata[0];
    //出运主信息相关字段
    var customerCode=ht.customerCode;//客户编码
    var currencyCode=ht.currencyCode;//币种编码
    var priceTermsCode=ht.priceTermsCode;//价格术语编码
    var businessModelCode="03";//ht.businessModelCode;//业务模式
    var bankCode=ht.bankCode;//银行编码
    var signingCompanyCode=ht.signingCompanyCode;//签约公司编码
    var transitPlaceCode=ht.transitPlaceCode;//起运地
    var destinationCode=ht.destinationCode;//目的地
    var paymentTerm=ht.paymentTypeCode;//收款类型

    var customerContactName=ht.customerContactName;//客户联系人
    var rmbRate=ht.rmbRate//人民币汇率
    var usdRate=ht.usdRate;//美金汇率
    var billNo=ht.billNo;//外销合同号
    var customerContactNo=ht.customerContactNo;//客户合同号
    var salesmanCode=ht.salesmanCode;//业务员
    var customerAccountingPeriod=ht.customerAccountingPeriod;//帐期
//主信息赋值
    form.val("editor-form", {
        "customerCode":customerCode,
        "companyCode":signingCompanyCode,
        "contactPerson":customerContactName,
        "rmbRate":rmbRate,
        "usdRate":usdRate,
        "salesContractNo":billNo,
        "customerContractNo":customerContactNo,
        "salesmanCode":salesmanCode,
        "currency":currencyCode ,
        "priceTerm": priceTermsCode,
        "paymentTerm": paymentTerm,
        "businessMode": businessModelCode,
        "startPlace": transitPlaceCode,
        "endPlace": destinationCode,
        "bankCode": bankCode,
        "payDay":customerAccountingPeriod
    })
//遍历外销合同
    for(var i=0;i<purchaseorderdata.length;i++){
        var wxht=purchaseorderdata[i];//外销合同
        //业务模式 02：正常模式
        var mushi=wxht.businessModelCode;
        //取备纲产品
        var wxcp=[];
        for(var n=0;n<changeList.length;n++){
            if( wxht.id==changeList[n].id){//如果外销合同id==changeList中的id，即是当前合同的产品
                wxcp.push(changeList[n].changeList);
            }
        }

            //通过 销售合同号获取采购合同产品、配件
            var cghts=getCG(wxht.billNo );
            //通过产品编码、规格编码与外销产品比对，得到采购合同中的相关的外销产品
            for(var n=0;n<cghts.length;n++) {
                var cg=cghts[n];
                var cgcpbm=cghts[n].productNo;//采购合同中的产品编码
                var cgtype=cghts[n].purchaseType;//采购类型，1：产品；2：配件
                if("1"==cgtype){//产品
                    var wxcpData=wxcp[0];
                    for(var m=0;m<wxcpData.length;m++){
                        var wxpc=wxcpData[m].productCode;//外销产品中的产品编码
                        if(cgcpbm==wxpc){//采购中的产品匹配上外销产品,开始拼装产品列表
                            var wx=wxcpData[m];//外销产品
                            var obj={};//拼装产品对象
                            obj.type="1";
                            obj.purchaseId=cg.purchaseId;//采购单id
                            obj.productId=wx.id;//产品id
                            //取采购产品中信息
                            obj.purchaseNo=cg.purchaseOrderNo;//采购单号
                            obj.amount=cg.amount;//采购中数量
                            obj.grossWeight=cg.grossWeight;//毛重
                            obj.netWeight=cg.netWeight;//净重
                            obj.volume=cg.volume;//体积
                            obj.trayNumber=cg.trayNumber// 托数
                            obj.trayCapacity=cg.trayCapacity;// 每托量
                            obj.numberOfPiece=cg.numberOfPiece;// 件数
                            obj.qty=cg.qty;// 每件数量
                            obj.payTime=cg.payTime;//付款账期
                            obj.wholeCostPrice=cg.price.toFixed(4);//成品成本
                            obj.supplierCode=cg.supplierCode;//编码  //供应商
                            obj.supplierName=cg.supplierName;//名称
                            //取外销产品中信息
                            obj.productNo=wx.productCode;//产品编码
                            obj.specNo=wx.specificationCode;//规格编码
                            obj.normExplain=wx.specificationExplanation;//规格说明
                            obj.customerContractNo=wx.clientProductNo;//客户货号
                            obj.chineseName= wx.productCname;//', width: 120, title: '中文名称',edit:'text'},
                            obj.englishName= wx.productEname;//', width: 120, title: '英文名称',edit:'text'},
                            obj.chineseDesc= wx.productCdesc;//', width: 120, title: '中文描述',edit:'text'},
                            obj.englishDesc= wx.productEdesc;//', width: 120, title: '英文描述',edit:'text'},
                            obj.colour= wx.color;//', width: 120, title: '颜色',edit:'text'},

                            obj.exportContractNo= wxht.billNo;//productListin[n].billNO;//', width: 120, title: '外销合同号',edit:'text'},
                            obj.outPackLength= wx.outerPackingLong;//', title:'外包装长', width: 120, edit: 'text'},
                            obj.outPackWidth= wx.outerPackingWide;//', title:'外包装宽', width: 120, edit: 'text'},
                            obj.outPackHeight= wx.outerPackingHeight;//', title:'外包装高', width: 120, edit: 'text'},

                            //obj.amount=cghts[i].amount;//采购中数量
                            //配件成本
                            //obj.accessoryCostPrice=0;
                            //取配件成本,入参：外销产品id、采购合同产品列表
                            obj.accessoryCostPrice=getpeijianBH(wx.id,cghts,"03");
                            obj.cpid=wx.id;
                            //  obj.accessoryCostPrice=peijiancb(exportContractNo,obj.productNo,obj.specNo,businessModelName,productListin[n].id,waixiaohetong.id);//配件成本

                            obj.unit= wx.productUnitName;//', width: 120, title: '单位', templet: '#unitselect'},
                            obj.price= wx.unitPrice.toFixed(2);//', width: 80, title: '单价',edit:'text'},
                            obj.priceSubtotal=(obj.price*obj.amount).toFixed(2);//金额小计
                            obj.grossSubtotal=obj.grossWeight*obj.numberOfPiece;//毛重小计
                            obj.netSubtotal=obj.netWeight*obj.numberOfPiece;//净重小计
                            obj.trayNumber=Math.ceil(obj.amount/obj.trayCapacity);//托数
                            obj.numberOfPiece=Math.ceil(obj.amount/obj.qty);//件数
                            obj.outPackSize=obj.outPackLength*obj.outPackWidth*obj.outPackHeight;//外包装尺寸
                            obj.costPrice=(parseFloat(obj.wholeCostPrice)+parseFloat(obj.accessoryCostPrice)).toFixed(4);//成本单价
                            obj.costPriceSubtotal=(obj.costPrice*obj.amount).toFixed(2);//成本小计
                            productList.push(obj);
                        }
                    }
                }
            }
    }
    var ia=$("input[name='invoiceAmount']")[0].value;
    if(ia==""||ia=="NaN"){
        ia=0;
    }

    for(var i=0;i<productList.length;i++){
        ia=parseFloat(productList[i].priceSubtotal);
    }
    $("input[name='invoiceAmount']")[0].value= parseFloat(ia)+parseFloat(getcostSum());
    //layer.msg("OK ");
    table.reload('storageproductstableid', {
        data:productList
        ,page: {
            curr: 1 //重新从第 1 页开始
        }
    }, 'data');
}

//取产品配件, //取配件成本,入参：备货产品id、采购合同产品列表;ms:业务模式   导入时用
function  getpeijianBH(wxid,cghts,ms) {//配件中，采购产品配件中的producCode=外销配件中的配件编码
    //取采购产品中的配件
    var pjcb=0;//配件成本
    var changeList=[];//配件列表
    //外销配件
    var wxpj=getbhbj(wxid);

        for(var i=0;i<wxpj.length;i++){
            var wx=wxpj[i];
            var partsCode=wx.partsCode;//配件编码
            for(var n=0;n<cghts.length;n++){//采购产品列表
                var cg=cghts[n];//采购产品
                var cgtype=cghts[n].purchaseType;//采购类型，1：产品；2：配件
                if("2"==cgtype && partsCode==cg.productNo) {//配件
                    var obj={};
                    obj.type="2";
                    obj.purchaseId=cg.purchaseId;//采购单id
                    obj.productId=wxid;//产品id
                    obj.productNo=partsCode;//外销配件 编码
                    obj.specNo=wx.specNo;//外销规格编码
                    obj.proportionFinishedProducts=wx.proportionFinishedProducts;//外销成品比例
                    obj.partsFinishedProducts=wx.partsFinishedProducts;//外销配件比例
                    obj.supplierName=cg.supplierName;//供应商
                    obj.chineseDesc=wx.productCname;//中文名称
                    obj.englishDesc=wx.productEname//英文名称
                    obj.grossWeight=wx.grossWeight;//毛重
                    obj.netWeight=wx.netWeight;//净重
                    obj.volume=wx.bulk;//体积

                    obj.amount=cg.amount*obj.partsFinishedProducts;//配件数量

                    obj.costPrice=cg.costPrice.toFixed(4);//成本单价
                    obj.costPriceSubtotal=(obj.amount*obj.costPrice).toFixed(2);//成本小计
                    obj.purchaseNo=cg.purchaseOrderNo;//采购单号
                    obj.cpid=wxid;//外销产品id
                    pjcb+=parseFloat(obj.costPrice);//配件成本
                    changeList.push(obj);
                    break;
                }
            }
        }
    var jsons = {"productId":wxid,"changeList":changeList};
    peijianList.push(jsons);

    return  pjcb;
}
//根据备货产品id获取备货产品部件，导入时用
function getbhbj(id) {
    var obj=[];
    $.ajax({
        type : 'GET'
        //  url : 'resource/getTree',salesContractNo
        ,data:{"id":id },//外销产品id
        url:'etask/import/getTaskProductPartsByPage',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                obj =da.data;
            }
        },
        error: function(data) {
           // layer.msg("获取失败!");
        }
    });
    return obj;
}

//删除产品
function delproduct(productid,type) {
    var obj=false;
    $.ajax({
        type : 'GET'
        //  url : 'resource/getTree',salesContractNo
        ,data:{"productid":productid,"type":type },//外销产品id
        url:'shipmentPlan/deleteProduct',
        dataType:"json",
        // contentType: 'application/json',
        async:false,
        success : function (da) {
            if(da.status==200 ){
                obj=true;
            }
        },
        error: function(data) {
            layer.msg("删除失败!");
        }
    });
    return obj;
}